from pymysql import Connection
#连接数据库

class DatabaseConnection: 
    
    def __init__(self, db_name):  
        self.__db_name = db_name
        self.__db_query = {  
    'db': db_name,  # 连接的数据库  
    'host': 'localhost',  # 主机名  
    'port': 3306,         # 端口号  
    'user': 'root',       # 用户名  
    'password': 'root',   # 密码  
    'autocommit': True    # 自动提交事务  
}
  
    def __enter__(self):  
        self.__conn = Connection(**self.__db_query)
        self.__cursor = self.__conn.cursor()
        print(f"连接到数据库:{self.__db_name}")  
        return self  # 通常返回资源对象本身  
    # exc_type:异常类型
    # exc_val:异常值
    # exc_tb:异常追踪信息
    def __exit__(self, exc_type, exc_val, exc_tb):  
        self.__cursor.close()
        self.__conn.close()
        print(f"断开数据库: {self.__db_name}")  
        return False  # 假设我们总是想重新抛出异常（如果有的话）  
    def select(self,sql_sentence):
        self.__cursor.execute(sql_sentence)
        print(f"执行了查询语句:{sql_sentence}")  
        return self.__cursor.fetchall()
    def execute(self, sql_sentence):  
        self.__cursor.execute(sql_sentence)
        print(f"执行了sql语句:{sql_sentence}")  